package scene;

import geometrie.Point;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
 * Classe pour la Forme 3D d'une Pyramide
 * @author Manuel
 * @author Marcos
 *
 */

public class Pyramide implements Modele3D {
	/** Liste de facettes */
	private List<Facette3D> liste;
	/**
	 * Constructeur pour la Pyramide
	 */
	public Pyramide(){
		liste = new ArrayList<Facette3D>();		
		createPyramide();
	}
	/**
	 * Generer des Points et Facettes
	 */
	private void createPyramide(){
		Point[] p = new Point[5];
		p[0] = new Point(10,10,0);
		p[1] = new Point(10,50,0);
		p[2] = new Point(50,10,0);
		p[3] = new Point(50,50,0);
		p[4] = new Point(30,30,25);
		
		Facette3D[] f = new Facette3D[6];
		f[0] = new Facette3D(p[0],p[2],p[4]);
		f[1] = new Facette3D(p[0],p[4],p[1]);
		f[2] = new Facette3D(p[1],p[4],p[3]);
		f[3] = new Facette3D(p[3],p[2],p[4]);
		f[4] = new Facette3D(p[0],p[2],p[1]);
		f[5] = new Facette3D(p[1],p[2],p[3]);
		//Ajouter a la Liste
		for(int i = 0;i<6;i++)
			liste.add(f[i]);
	}
	/**
	 * Obtenir l'Iterator de la liste de Facettes 3D
	 */
	@Override
	public Iterator<Facette3D> getFacettes() {
		// TODO Auto-generated method stub
		return liste.iterator();
	}
	/**
	 * Boucher le Trou (il n'y aucun)
	 */
	@Override
	public void triangulePolygone(Point[] point) {
		// TODO Auto-generated method stub
		
	}

}
